当前位置:  开发笔记 > 编程语言 > 正文

#{resource} EL指定在哪里?

如何解决《#{resource}EL指定在哪里?》经验,为你挑选了1个好方法。

在JSF页面中,我使用EL来查找放在/resource/images/文件夹中的图像.



EL如何定位图像?也许规范定义了规则,但我不知道哪个规范.我尝试在JSR-000344 JavaServer Faces 2.2,JSR-000342 Java平台,企业版7,JSR-000341表达式语言3.0中找到它,但没找到.



1> BalusC..:

在JSF 2.0规范中,它在第2.6.2章中首次提到:

2.6.2渲染资源

图像,样式表和脚本等资源使用第2.6.1节"打包资源"中概述的资源处理机制.所以,例如:



这些条目呈现完全相同的标记.除了使用namelibrary属性之外,样式表和脚本资源可以"重定位"到视图的其他部分.例如,我们可以指定在页面中的HTML"head","body"或"form"元素内呈现脚本资源.

然后在第5.6.2.5章:

5.6.2.5资源ELResolver

此解析器是一种将Resource实例编码为面部请求的方法,以便使用ResourceHandler满足来自浏览器的后续面部资源请求,如第2.6节"资源处理"中所述.

ELResolver方法实现要求

如果base和property不为null,并且base是一个实例ResourceHandler(如表达式的情况那样#{resource[‘ajax.js’]},请执行以下操作.(注意:由于ImplicitObjectELResolver返回ResourceHandler,这是可能的 ,请参见第5.6.2.1节"隐式对象用于Facelets和程序访问的ELResolver")

如果property不包含冒号字符':',则将property作为 resourceName和传递属性 ResourceHandler.createResource(resourceName).

如果属性包含单个冒号字符':',则将':'之前的内容视为' libraryName和'之后的内容resourceName,并将两者都传递给 ResourceHandler.createResource(resourceName, libraryName)

如果property包含多个冒号字符':',则抛出一个本地化的 ELException包含属性.

如果上述步骤之一导致创建非null Resource实例,则调用ELContext.setPropertyResolved(true)并返回在实例 上调用getRequestPath()方法的结果Resource.

在JSF 2.1和2.2规范的相同章节中也提到了它.

具体问题无关,images是资源库名称的一个非常糟糕的例子.不要从规范示例中接管它.

也可以看看:

如何在Facelets模板中引用CSS/JS /图像资源?

什么是JSF资源库以及如何使用它?

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有